package com.xiaoshuidi.cloud.module.rooms.convert.apartment;

import com.xiaoshuidi.cloud.module.rooms.api.apartment.dto.ApartmentListDto;
import com.xiaoshuidi.cloud.module.rooms.api.apartment.vo.ApartmentListRespVO;
import com.xiaoshuidi.cloud.module.rooms.api.apartment.vo.GetApartmentVO;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.apartment.vo.ApartmentCreateReqVO;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.apartment.vo.ApartmentEditVO;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.apartment.vo.ApartmentRespVO;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.apartment.vo.ApartmentVO;
import com.xiaoshuidi.cloud.module.rooms.pojo.Apartment;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 公寓 Convert
 *
 * @author
 */
@Mapper
public interface ApartmentConvert {

    ApartmentConvert INSTANCE = Mappers.getMapper(ApartmentConvert.class);

    Apartment convert(ApartmentCreateReqVO bean);

    List<ApartmentRespVO> convertList(List<Apartment> list);

    ApartmentVO convert(Apartment bean);

    Apartment convert(ApartmentEditVO editVO);

    List<ApartmentVO> convert(List<Apartment> records);

    List<ApartmentListRespVO> convert1(List<Apartment> bean);

    List<ApartmentListDto> convertToApartmentListDto(List<Apartment> bean);

    ApartmentListDto convertToApartmentListDto(Apartment bean);

    List<GetApartmentVO> convert2(List<ApartmentVO> checkedData);
}
